Local communication networks generally comprise a plurality of bridging-devices and communication links. Each communication link connects between two or more bridging-devices or between one or more bridging-devices and one or more end-stations, e.g., computers. Each bridging-device comprises a plurality of ports which serve as interfaces between the bridging-device and the links to which it is connected. When a source station sends a message or frame to a destination station whose address is recognized by all the bridging-devices, the source station forwards the message to a bridging-device which forwards the frame to one of its neighboring bridging-devices (bridging-devices which are directly connected to a common link are referred to herein as neighbors). The neighboring bridging-device forwards the frame to another bridging-device until the frame finally reaches the bridging-device connected to the destination station. In many cases, frames are broadcast to all the bridging-devices in a local network.
A commonly used broadcast scheme involves having a bridging-device that receives a broadcast frame forward the frame through all its ports, except for the port through which the frame was received. This broadcast scheme operates properly only if the ports and links do not form a loop in the network. If the network includes a loop of ports, a single frame may be repeatedly forwarded through the network and the network will fail. Such a situation is commonly referred to as a broadcast storm.
In many cases redundant links are added to networks, to be used in case one or more of the bridging-devices and/or links fail. A spanning tree algorithm (STA) is commonly used to block the ports leading to the redundant links and thus prevent the formation of loops. A blocking port (also referred to as a port in a blocked state, or as a blocked port) only sends specific control packets (i.e., STA-BPDU packets) and does not forward data packets at all. Usually, bridging-devices which are reset or begin to operate, block all their ports and then the STA activates those ports which are to be used for forwarding data.
One common spanning tree algorithm is the 802.1D standard spanning tree algorithm (STA) which is described in “Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Media access control (MAC) bridges”, International Standard ISO/EEC 15802-3, 1998, ANSI/IEEE Std 802.1D, 1998 edition, the disclosure of which is incorporated herein by reference. Faster STAs are described in “Speedy Tree Protocol” and “Truncating Tree Timing”, both of which are to M. Seaman, IEEE 802.1 interim meeting, January 1999.
Stackable switches are bridging-devices which are formed internally by a plurality of bridging-devices, connected by internal links. An advantage of stackable switches is that a system manager may add bridging-devices to the stackable switch in order to enhance its operation with minimal changes in the stackable switch, and without changes in the network to which the stackable switch is connected. The convergence time of commonly used STAs is dependent on the number of bridging-devices along the longest path in the network. Therefore, it is preferred that stackable switches participate in STAs as a single switch. Under these circumstances, the STA does not prevent formation of loops within the stackable switch, and therefore the stackable switch is not allowed to include redundant links.
In most local networks, control data on the connectivity of the network is passed along the links of the network which forward data. The connectivity data is used, for example, in running STAs. Still, some stackable switches include separate wire connections, connected in parallel to the data links, which pass only control data.
In some networks described, for example, in a white paper by Ori Bendori, titled “Lucent product support”, and available at /www.lannet.com/site/products/white/safwp-05.htm, the disclosure of which is incorporated herein by reference, redundant links are handled locally by a single bridging-device, rather than by using an STA which is a distributed algorithm and is relatively complex. The bridging-device includes active ports and blocked ports. If a failure is detected in one of the active ports the bridging-device automatically activates a predetermined one of the blocked ports. Thus, the failure is overcome relatively quickly. This scheme, however, is limited to networks in which a single bridging-device is connected to both the failing link and the redundant link which replaces the failing link.